//
//  HJInputController.h
//  XWC
//
//  Created by Hello on 2022/10/24.
//

#import <UIKit/UIKit.h>
#import "HJInputBar.h"
#import "HJFaceView.h"
#import "HJMoreView.h"

NS_ASSUME_NONNULL_BEGIN

@class HJInputController;


typedef NS_ENUM(NSUInteger, HJInputStatus) {
    HJInput_Status_Input_None,
    HJInput_Status_Input_Face,
    HJInput_Status_Input_More,
    HJInput_Status_Input_Keyboard,
    HJInput_Status_Input_Talk,
};


@protocol HJInputControllerDelegate <NSObject>

@optional


- (void)inputController:(HJInputController *)inputController didChangeHeight:(CGFloat)height;
- (void)inputController:(HJInputController *)inputController didSendTextMessage:(NSString *)text;
- (void)inputController:(HJInputController *)inputController didSendVoiceMessage:(NSString *)localPath;

- (void)inputController:(HJInputController *)inputController didSelectMoreCell:(HJInputMoreCell *)cell;
- (void)inputControllerDidInputAt:(HJInputController *)inputController;
 - (void)inputController:(HJInputController *)inputController didDeleteAt:(NSString *)atText;
- (void)inputControllerBeginTyping:(HJInputController *)inputController;
- (void)inputControllerEndTyping:(HJInputController *)inputController;

@end

 

@interface HJInputController : UIViewController

@property (nonatomic, strong) HJInputBar *inputBar;
@property (nonatomic, strong) HJMoreView *moreView;

@property (nonatomic, weak) id<HJInputControllerDelegate> delegate;
@property (nonatomic, assign, readonly) HJInputStatus status;

- (void)reset;

@end

NS_ASSUME_NONNULL_END
